package com.zpark.se.date;

import java.util.Date;

/**
 * java当中日期相关类Date
 * 类Date表示特定的时间瞬间，精度为毫秒级。
 * 在JDK 1.1之前，Date类有两个额外的函数。它允许将日期解释为年、月、日、时、分和秒值。
 * 它还允许格式化和解析日期字符串。不幸的是，这些函数的API不支持国际化。从JDK 1.1开始，
 * Calendar类应该用于在日期和时间字段之间进行转换，DateFormat类应该用于格式化和解析日期字符串。
 * Date中相应的方法已弃用
 */
public class Demo01 {
    public static void main(String[] args) {
        // 创建一个Date对象，获取当前系统时间
        Date date = new Date();
        System.out.println(date);

        date.toGMTString(); // 方法带删除线的为弃用方法，不推荐使用

        // 获取当前系统时间戳
        System.out.println(System.currentTimeMillis());
        // 创建指定毫秒值的date对象
        Date date2 = new Date(1630080236134L);
        System.out.println(date2);

        // Date 常用方法
        /*
            判断当前date是否在指定的日期之后
         */
        boolean after = date.after(date2);
        System.out.println(after);

        /*
        判断当前date是否在指定的日期之前
         */
        boolean before = date.before(date2);
        System.out.println(before);

        // 通过date对象获取系统时间戳
        long time = date2.getTime();
        System.out.println(time);

        // 两个date对象的比较
        /*
            1.返回值为0，两个date对象内容（时间为同一时刻）相等
            2.返回值为正，date1在date2之后
            3.返回值为负，date1在date2之前
         */
        System.out.println(date.compareTo(date2));
    }
}
